1. Technical Field
The present invention relates generally to data storage devices, and more specifically to methods and arrangements that are employed to significantly reduce and/or minimize the amount of frame buffering that is required within the data storage device to adequately support transferring data from the storage device to a host device.
2. Background Art
An optical disc, such as, for example, a compact disc (CD) or digital versatile disc (DVD), is a nonmagnetic data storage medium on which relatively large amounts of digital information is stored by using a laser beam to burn microscopic indentations into a surface of the medium. The stored data is read using a lower-power laser to sense the presence or absence of the indentations.
There are many different types of optical disc systems (i.e., optical discs. formats and devices) available today. One of the most common optical disc systems used in contemporary personal computers (PCs) is the compact disc read-only memory (CD-ROM). CD-ROM provides a read only optical storage medium onto which data is stored only once and then read many times using a CD-ROM drive. A CD-ROM disc can contain a mixed stream of digital image, audio, video, and/or text data. Additional capacity is provided by a digital versatile disc read-only-memory (DVD-ROM). In the future, DVD-ROM will also be faster. Other advanced optical disc systems allow users to also write data to the optical disc. By way of example, a compact disc recordable (CD-R) system allows the user to write-once to each section of the optical disc, while a compact disc rewritable (CD-RW) allows the user to write to each section of the optical disc many times. Other notable optical disc systems include a compact disc magneto optical (CD-MO) disc, which is also rewritable.
Reading data from these exemplary optical disc systems typically begins with the PC's processor or host processor requesting that a block of data be scanned from the optical disc and transferred over a peripheral bus to the host processor or a primary memory. A block of data typically includes a plurality of smaller blocks or frames of data. These frames of data are typically pre-processed and gathered into groups within the optical disc drive, and then forwarded to the host processor over the peripheral bus. By of way example, an exemplary 16X CD-ROM drive for use with a PC typically includes a digital signal processing arrangement that pre-processes the retrieved data, and a buffer management arrangement that stores frames of data, which are typically between about 2 to about 3 kilobytes long, in a 128-kilobyte dynamic random access memory (DRAM) prior to transferring a group of frames (e.g., about 4 to 8 frames per group) to the host processor in a single burst.
One of the problems with this type of configuration is that a large memory capacity is required within the optical disc drive to adequately buffer the frames of data due to the inherent latency associated with a typical host processor, which can be interrupted from time to time by other circuits/devices. As such, the host processor will not necessarily be ready to receive the next group of frames, once gathered and prepared for burst transfer by the optical disc drive.
Additional latencies are introduced by the buffer management process within the optical disc drive. The buffer management process is usually conducted by a block decoder circuit that relies on an embedded firmware-based processor. This firmware-based processor is configured to run a real-time firmware program (e.g., a kernel program, polling loop, event driver, hybrid, etc.). While the buffer management process has a finite processing overhead, it too can be interrupted by other circuits within the block decoder and/or optical disc drive from time to time. Additionally, there are added overhead latencies associated with the burst transfer of a group of frames, which may require the firmwarebased processor to be interrupted, for example, to process a certain number of frames (e.g., up to 10 frames) for each interrupt. By way of a further example, the buffer management process needs to able to coordinate a burst transfer with the host processor. This typically includes additional signaling and is subject to further delays if the host processor is busy or interrupted. Consequently, the latency introduced by the buffer manager varies and can be significant at times.
In an effort to provide an acceptable data transfer rate from the optical disc drive to the host processor, a significantly large and often expensive external memory (e.g., DRAM) is provided within the optical disc drive. This external memory is used by the buffer manager to store frames of data and accommodate the uncertain latency of the overall system.
To further complicate matters, as the speed of optical disc drives increases, the amount of memory required within the optical disc drive will likely need to increase as well. For example, certain conventional 32X CD-ROM drives, which run at twice the speed of a 16X CD-ROM having an external 128-kilobyte DRAM, often require an additional 128-kilobytes of memory in the form of an external 256-kilobyte DRAM.
Thus, there is a need for methods and arrangements that reduce the latency introduced by an optical disc drive, and consequently the amount of memory required in the optical disc drive, so as to support increasing data transfer rates.